From 838c06c5ed4c7a6bd381a34854f99b3bc4988acc Mon Sep 17 00:00:00 2001 From: robertl Date: Tue, 13 Feb 2007 19:01:44 +0000 Subject: [PATCH] Start sketching in some incomplete D304 send support. --- jeeps/gpsapp.c | 34 ++++++++++++++++++++++++++++++++++ jeeps/gpsapp.h | 1 + 2 files changed, 35 insertions(+) diff --git a/jeeps/gpsapp.c b/jeeps/gpsapp.c index 05aac8417..c9f14fded 100644 --- a/jeeps/gpsapp.c +++ b/jeeps/gpsapp.c @@ -3796,6 +3796,10 @@ int32 GPS_A301_Send(const char *port, GPS_PTrack *trk, int32 n) GPS_D301_Send(data,trk[i]); len = 21; break; + case pD304: + GPS_D304_Send(data,trk[i]); + len = 26; + break; default: GPS_Error("A301_Send: Unknown track protocol"); return PROTOCOL_ERROR; @@ -4195,6 +4199,36 @@ void GPS_D301_Send(UC *data, GPS_PTrack trk) return; } +void GPS_D304_Send(UC *data, GPS_PTrack trk) +{ + UC *p; + + p = data; + GPS_A300_Encode(p,trk); + p = data+12; + + GPS_Util_Put_Float(p,trk->alt); + p+=sizeof(float); + + GPS_Util_Put_Float(p,1.0e25); + p+=sizeof(float); + + /* Not really clear if the members below makes sense to write or not */ + + *p = trk->heartrate; + p+=sizeof(char); + + *p = trk->cadence; + p+=sizeof(char); + + *p = trk->cadence > 0 ? trk->cadence : 0xff; + p+=sizeof(char); + + *p = trk->tnew; + + return; +} + /* @func GPS_D310_Send ************************************************** diff --git a/jeeps/gpsapp.h b/jeeps/gpsapp.h index 2d9ead9c1..ee6416847 100644 --- a/jeeps/gpsapp.h +++ b/jeeps/gpsapp.h @@ -34,6 +34,7 @@ void GPS_D310_Get(GPS_PTrack *trk, UC *s); void GPS_D311_Get(GPS_PTrack *trk, UC *s); void GPS_D300_Send(UC *data, GPS_PTrack trk); void GPS_D301_Send(UC *data, GPS_PTrack trk); +void GPS_D304_Send(UC *data, GPS_PTrack trk); void GPS_D310_Send(UC *data, GPS_PTrack trk, int32 *len); int32 GPS_A400_Get(const char *port, GPS_PWay **way); -- 2.30.2